This invention relates generally to data communications networks, and more particularly, to a method and apparatus for forwarding multicast data by relaying IGMP group membership.
Computer networks are used to interconnect many computing resources, including computers, workstations servers, printers, modems, and storage devices. For example, two or more computers may be connected together through a network. Network users are able to share files, printers and other resources, send messages and run applications on remote computers.
One important feature of computer networks, such as the Internet, is the ability for a single sending station on the network to send the same information to multiple receiving stations. This feature is known as multicasting, and is commonly used to broadcast streaming data such as video or audio over the Internet. One disadvantage of streaming data applications is the requirement for a relatively high bandwidth data link between the sender and the receivers to distribute a large number of data packets associated with the streaming data. The large bandwidth requirement of streaming data becomes an even greater problem when multiple users are receiving the same streaming data at the same site. Without some mechanism to reduce the number of data packets, sites with multiple users may quickly become clogged with the large number of duplicate data packets being sent simultaneously to multiple users in a streaming data application.
To address this problem, the Internet Group Management Protocol (IGMP) has been developed. The IGMP allows a network administrator to designate one or more users as a member of a group. The list of members in the group is then typically communicated to a routing device on the network. A sender then has the ability to transmit a single data stream to the group, and the routing device handles the downstream distribution of packets to all of the members in the group.
To forward multicast data to downstream members, all intermediate routers are intended to run multicast protocols. Running multicast protocols is generally expensive because it introduces source and group states, and the routers have to maintain these states by exchange of a significant amount of signaling messages. At the network boundary, however, the routing is relatively simple and running multicast protocols represents a significant overhead. Therefore, there is a need for a way to forward multicast data by relaying IGMP group membership with a router.
The present invention provides a method, apparatus and article of manufacture for forwarding multicast data by relaying IGMP group membership. A router is used to build a database of a plurality of interfaces and corresponding multicast groups, and the database is stored on the router. Information from the database is reported upstream to a multicast router. Multicast data is received from the multicast router and distributed to the plurality of interfaces based upon the database.